import { PagesKey } from '@/global/constant'
import { MenuProps, TableProps } from 'antd'
import { ColumnType } from 'antd/es/table/interface'

export enum TableItemType {
  Column = 'column',
  ColumnGroup = 'columnGroup'
}

export interface ITableItem extends ColumnType<any> {
  type: TableItemType
  customkey?: string
  children?: (ColumnType<any> & { customkey?: string })[]
}

export interface IContentConfig {
  pageKey: PagesKey
  // Table的配置项
  tableConfig: TableProps<any>
  // 自定义的配置项，并继承了Table.ColumnGroup或者Table.Column的配置项
  tableItems: ITableItem[]
  // 是否在前面显示多选
  isShowRowSelection?: boolean
  // 个人觉得“更多操作”影响整体，在这里配置比较好操作，就没放进tableItems
  isShowMoreAction?: boolean
  moreActions?: MenuProps['items']
  // 是否显示“新建”按钮
  isShowAddBtn: boolean
  // 是否显示“批量操作”按钮
  isShowBatchBtn: boolean
  // 是否显示分页
  isShowPagination?: boolean
  batchActions?: MenuProps['items']
}
